/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package br.com.fatecpg.zanotti.acessobanco;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Vector;
import javax.swing.ComboBoxModel;
import javax.swing.DefaultComboBoxModel;

/**
 * Classe responsável por realizar todas consultas relacionadas ao JComboBox Produto.
 * @author F.L. Zanotti
 */
public class conComboProduto {
/**
 * Realiza uma consulta Total por NMModelo de Produto para popular um Combo.
 * @param s Cdfornecedor.
 * @return
 */
    public ComboBoxModel consulta(String s) {
        try {
            Connection con = AbreConexao.getConexao();

            String query = "SELECT NMMODELO from PRODUTO " +
                    "WHERE CDFORNECEDOR = ?";

            PreparedStatement pst = con.prepareStatement(query);
            pst.setString(1, s);
            ResultSet rs = pst.executeQuery();

            Vector vetor = new Vector();

            while (rs.next()) {

                String NMMODELO = rs.getString("NMMODELO");
                NMMODELO = NMMODELO.trim();

                vetor.addElement(NMMODELO);

            }
            con.close();
            rs.close();

            vetor.size();
            ComboBoxModel modelo = new DefaultComboBoxModel(vetor);
//            JComboBox combo = new JComboBox(modelo);
            return modelo;
        } catch (SQLException e) {
            System.out.println(e);
        }

        return null;
    }
/**
 * Realiza uma consulta por Nome de Modelo de Produto, retornando um ComboBoxMOdelo populado.
 * @param s Cdfornecedor
 * @return
 */
    public ComboBoxModel consultaEmEstoque(String s) {
        try {
            Connection con = AbreConexao.getConexao();

            String query = "SELECT NMMODELO from PRODUTO " +
                    "WHERE CDFORNECEDOR = ? " +
                    "AND ICESGOTADO = 'N'";

            PreparedStatement pst = con.prepareStatement(query);
            pst.setString(1, s);
            ResultSet rs = pst.executeQuery();

            Vector vetor = new Vector();

            while (rs.next()) {

                String NMMODELO = rs.getString("NMMODELO");
                NMMODELO = NMMODELO.trim();

                vetor.addElement(NMMODELO);

            }
            con.close();
            rs.close();

            vetor.size();
            ComboBoxModel modelo = new DefaultComboBoxModel(vetor);
//            JComboBox combo = new JComboBox(modelo);
            return modelo;
        } catch (SQLException e) {
            System.out.println(e);
        }

        return null;
    }
/**
 * Realiza uma consulta por Nome de Modelo de Produto que está em estoque.
 * @param s Código do Fornecedor
 * @param l Código da Loja
 * @return
 */

    public ComboBoxModel consultaEmEstoquePorLoja(String s, String l) {
        try {
            Connection con = AbreConexao.getConexao();

            String query = "SELECT NMMODELO from PRODUTO " +
                    "WHERE CDFORNECEDOR = ? " +
                    "AND CDLOJA = ? " +
                    "AND ICESGOTADO = 'N'";

            PreparedStatement pst = con.prepareStatement(query);
            pst.setString(1, s);
            pst.setString(2, l);
            ResultSet rs = pst.executeQuery();

            Vector vetor = new Vector();

            while (rs.next()) {

                String NMMODELO = rs.getString("NMMODELO");
                NMMODELO = NMMODELO.trim();

                vetor.addElement(NMMODELO);

            }
            con.close();
            rs.close();

            vetor.size();
            ComboBoxModel modelo = new DefaultComboBoxModel(vetor);

            return modelo;
        } catch (SQLException e) {
            System.out.println(e);
        }

        return null;
    }
/**
 * Realiza uma consulta pelo Valor da Venda do Produto
 * @param s NOme do Modelo
 * @return
 */
    public String consultaValorVenda(String s) {
        try {
            Connection con = AbreConexao.getConexao();

            String query = "SELECT VLVENDA from PRODUTO " +
                    "WHERE NMMODELO = ? " +
                    "AND ICESGOTADO = 'N'";

            PreparedStatement pst = con.prepareStatement(query);
            pst.setString(1, s);
            ResultSet rs = pst.executeQuery();


            String NMMODELO = "";

            while (rs.next()) {

                NMMODELO = rs.getString("VLVENDA");
                NMMODELO = NMMODELO.trim();



            }
            con.close();
            rs.close();


            return NMMODELO;
        } catch (SQLException e) {
            System.out.println(e);
        }

        return null;
    }
/**
 * Realiza uma consulta pelo código do produto
 * @param cd Nome do Modelo
 * @return
 */
    public String consultaCDPRODUTO(String cd) {
        try {
            Connection con = AbreConexao.getConexao();

            String query = "SELECT CDPRODUTO from PRODUTO where NMMODELO like ?";

            PreparedStatement pst = con.prepareStatement(query);
            pst.setString(1, cd);
            ResultSet rs = pst.executeQuery();


            while (rs.next()) {

                cd = rs.getString("CDPRODUTO");

                cd = cd.trim();

            }

            con.close();
            rs.close();
            return cd;
        } catch (SQLException e) {
            System.out.println(e);
        }

        return null;
    }
/**
 * Realiza uma consulta por Nome do Modelo do produto
 * @param cd cdproduto
 * @return
 */
    public String consultaNMMODELO(String cd) {
        try {
            Connection con = AbreConexao.getConexao();

            String query = "SELECT NMMODELO from PRODUTO where CDPRODUTO = ?";

            PreparedStatement pst = con.prepareStatement(query);
            pst.setString(1, cd);
            ResultSet rs = pst.executeQuery();
            while (rs.next()) {
                cd = rs.getString("NMMODELO");
                cd = cd.trim();
            }
            con.close();
            rs.close();
            return cd;
        } catch (SQLException e) {
            System.out.println(e);
        }

        return null;
    }
}
